<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>ref与reacitve的区别</title>
</head>

<body>
    <div id="app">
        <h1>{{web.title}}</h1>
        <h2>{{web.url}}</h2>
        {{msg}} : {{number}}
    </div>

    <script type="module">
        import { ref, reactive, createApp } from '../00-dependency/vue.esm-browser.js'
        createApp({
            setup() {
                // ref用于创建存储单个基本类型的数据，如: 数字、字符串等(数组也可以使用ref)
                const number = ref(10)
                // 使用 ref 创建的响应式对象，需要通过.value 属性来访问和修改其值
                number.value = 20

                // reactive 用于存储复杂的数据类型，如: 对象或数组等
                const web = reactive({
                    title: "Dcsgo",
                    url: "dcsgo.com.cn"
                })
                // 使用 reactive 创建的响应式对象，可以直接通过属性名来访问和修改值
                web.url = "www.dcsgo.com.cn"
                return {
                    msg: "Hello Vue3",
                    number,
                    web
                }
            }
        }).mount("#app")

        // 推荐查阅: https://blog.csdn.net/m0_55049655/article/details/147835856
    </script>
</body>

</html>